package com.example.dw.admin.service;

import com.example.dw.admin.dto.PageRequestDTO;
import com.example.dw.admin.dto.CreateActivityDTO;
import com.example.dw.admin.dto.UpdateActivityDTO;
import com.example.dw.entity.Activity;

import java.util.List;
import java.util.Map;

/**
 * 管理端活动管理服务接口
 * @author system
 * @since 2024-01-01
 */
public interface AdminActivityService {
    
    /**
     * 获取指定数量的活动
     */
    List<Activity> getSomeActivity(Integer count);
    
    /**
     * 分页获取活动信息
     */
    Map<String, Object> getActivityByPage(PageRequestDTO pageRequest);
    
    /**
     * 根据ID获取活动信息
     */
    Activity getActivityById(Integer activityid);
    
    /**
     * 创建活动
     */
    void createActivity(CreateActivityDTO createActivityDTO);
    
    /**
     * 更新活动信息
     */
    void updateActivity(UpdateActivityDTO updateActivityDTO);
    
    /**
     * 删除活动
     */
    void deleteActivity(Integer activityid);
    
    /**
     * 获取活动报名信息
     */
    List<Map<String, Object>> getActivityJoin(Integer activityid);
    
    /**
     * 获取所有活动
     */
    List<Activity> getAllActivity();
    
    /**
     * 获取活动分类信息
     */
    Map<String, Object> getLittletypeAndBigtype();
    
    /**
     * 删除价格信息
     */
    void deleteSessionPrice(Integer priceId);
} 